package cn.elead.chaos.remote.web.system.service;

import java.util.List;
import java.util.Map;

import cn.elead.chaos.mybatils.web.page.TableDataInfo;
import cn.elead.chaos.remote.web.system.domain.SysUser;
import feign.Param;
import feign.QueryMap;
import feign.RequestLine;

/**
 * 用户 业务层
 * 
 * @author luopeng
 */
public interface IRemoteUserService {
	
	/**
	 * 根据条件分页查询用户列表
	 * 
	 * @param user 用户信息
	 * @return 用户信息集合信息
	 */
	@RequestLine("GET /system/user/page")
	public TableDataInfo<SysUser> page(@QueryMap SysUser user);

	/**
	 * 根据条件查询用户列表
	 * 
	 * @param user 用户信息
	 * @return 用户信息集合信息
	 */
	@RequestLine("GET /system/user/list")
	public List<SysUser> list(@QueryMap SysUser user);

	/**
	 * 根据条件查询用户列表
	 * 
	 * @param user 用户信息
	 * @return 用户信息集合信息
	 */
	@RequestLine("GET /system/user/{userId}")
	public Map<String, Object> getInfo(@Param("userId") String userId);

	/**
	 * 新增用户
	 */
	@RequestLine("POST /system/user")
	public int add(SysUser user);

	/**
	 * 修改用户
	 */
	@RequestLine("PUT /system/user")
	public int edit(SysUser user);
	
	/**
	 * 删除用户
	 */
	@RequestLine("DELETE /system/user/{userId}")
	public int remove(@Param("userId") String userId);

	/**
	 * 状态修改
	 */
	@RequestLine("PUT /system/user/changeStatus")
	public int changeStatus(SysUser user);
}
